package com.bjsxt.controller;


import com.bjsxt.pojo.Host;
import com.bjsxt.pojo.HostAddResult;
import com.bjsxt.pojo.HostCondition;
import com.bjsxt.pojo.PageResult;
import com.bjsxt.service.IHostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.time.LocalDateTime;
import java.util.Arrays;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author ${author}
 * @since 2021-10-14
 */
@Controller
@RequestMapping("/host")
public class HostController {
    //声明业务层方法
    @Autowired
    private IHostService hostService;
    //声明单元方法：分页加载主持人信息
    /**
     * dataGrid的数据格式：
     *  要求相应一个json数据，并且有total和rows两个属性
     *  total表示符合要求的总的数据量
     *  rows为当前请求也的数据的list集合
     *  注意：
     *      创建实体类，有两个属性total，rows
     *
     *  单元方法形参：
     *      请求页码
     *      显示的数量
     *      筛选条件
     */
    @ResponseBody
    @RequestMapping("hostInfo")
    public PageResult<Host> hostInfo(Integer page, Integer rows, HostCondition hostCondition){
        //处理请求
            PageResult<Host> pageResult = hostService.selHostInfoService(page,rows,hostCondition);
        return pageResult;
    }
    @ResponseBody
    @RequestMapping("hostInfo2")
    public PageResult<Host> hostInfo2(Integer page, Integer rows, HostCondition hostCondition){
        //处理请求
        PageResult<Host> pageResult = hostService.selHostInfoService(page,rows,hostCondition);
        return pageResult;
    }
    //声明单元方法：新增主持人信息
    @ResponseBody
    @RequestMapping("hostAdd")
    public HostAddResult hostAdd(Host host){
        //处理请求
            //设置主持人默认数据
        host.setStarttime(LocalDateTime.now());
        host.setStatus("1");
        host.setStrong("20");
        host.setOrdernumber(0);
            //新增
        boolean insert = host.insert();
        //响应结果
        return new HostAddResult(insert,insert?"增加成功":"增加失败");

    }
    //修改主持人帐号状态
    @ResponseBody
    @RequestMapping("hostAccountUp")
    public String hostAccountUp(String hids,String statuss){
        //获取请求
            //获取要修改的主持人id数组
        System.out.println(hids);
        System.out.println(statuss);
        String[] hidStr = hids.split(",");
        System.out.println(Arrays.toString(hidStr));
        String[] statusStr = statuss.split(",");
        System.out.println(Arrays.toString(statusStr));
        //修改
        for(int i = 0;i<hidStr.length;i++){
            //修改主持人账号状态
            Host host = new Host();
            host.setHid(Integer.parseInt(hidStr[i]));
            host.setStatus("1".equals(statusStr[i])?"0":"1");
            host.updateById();
        }
        System.out.println("返回结果中");
        return "1";
    }
    //修改权重
    @ResponseBody
    @RequestMapping("hostStrongUp")
    public String hostStrongUp(Host host){
        host.updateById();
        return "1";
    }
}

